"""
!/usr/bin/env python
-*- coding: utf-8 -*-
@Author  : MarkJia
@Site    : 
@File    : 2、运算符.py
"""
import os.path

# 算术运算符 : + - * /(除)  **(幂)   %（取余）  //(取整数除)
print(1 + 2)

# 赋值运算符 : =  += -=    右边赋值给左边
a = 3
a += 2
print(a)  # 结果为：5
c, d = 3, 6

# 比较运算符 ：==  !=   >  <  >=  <=
# 最后输出的结果是 布尔值  True 或者 False
print(1 == 1)  # True
print(3 > 2)  # True
print(1 != 1)  # False

# 逻辑运算符
# and  or  not(重点)
dirs = 'photos'
if not os.path.exists(dirs) or os.path.exists('python.exe'):
    os.mkdir(dirs)

# 成员运算符
list_a = ['a', 'b', 'c']
print('a' in list_a)  # a 在列表 list_a 中，返回True
print('b' not in 'ac')  # b 不在 字符串ac中，返回True

# 身份运算符:判断两个内存地址是否相同。不可变的数据结构，若相同内存地址也相同
# is 判断两个标识符是不是引用同一个对象
# id(c)与id(d)的内存地址是完全一样的
e, f = 'a', 'a'
print(e is f)  # 结果是：True
print(id(e), id(f))  # 2147790076528 2147790076528

# 可变的数据结构，即使看着完全相同，但是内存地址不相同
a, b = ['a'], ['a']
print(a == b)  # 结果是： True
print(a is b)  # 结果是： False
print(id(a), id(b))  # 2081895651904 2081896030400